Universal Serial Bus (USB) is a peripheral interface for attaching a wide variety of computing devices, such as personal computers, digital telephone lines, monitors, modems, mice, printers, scanners, game controllers, keyboards, storage devices. The specifications defining USB (e.g., Intel et al., Universal Serial Bus Specification, Revision 1.0, January 1996; updated as Revision 1.1 in September 1998; further updated as Revision 2.0 in April 2000; further updated as Revision 3.0 in November 2008, and subsequent updates and modifications—hereinafter collectively referred to as the “USB Specifications”, which term can include future modifications and revisions) are nonproprietary and are managed by an open industry organization known as the USB Forum.
The USB Specifications establish basic criteria that must be met in order to comply with USB standards. One of ordinary skill in the art will recognize many terms herein from the USB Specifications. Those terms are used herein in a similar manner to their use in the USB Specifications, unless otherwise stated.
Under Revision 3.0 of the USB Specifications, SuperSpeed connections are provided between devices that establish “link partner” relationships with each other. Though the specification does not mandate any particular maximum cable length, in practical terms the timing mandates and signaling techniques require a regular copper cable used for a SuperSpeed connection between a host and a device to be at most 3 meters long to properly support the SuperSpeed connection between the link partners. Therefore, a new method and apparatus are needed to optionally allow for extension of a SuperSpeed USB device to a greater distance from the host to which it is coupled, such that SuperSpeed USB packets may be propagated between the host device and the USB device.
However, existing methods and systems have some limitations. Use of these methods and systems may still result in unstable system behavior under some conditions. For example, at extension lengths greater than 50 meters the system ports may become unstable and cycle in and out of the Recovery state. System instability has also been observed during periods of high traffic, when using multiple devices, and when using non-traditional media. Therefore, a new method and apparatus are needed to optionally allow for extension of a SuperSpeed USB device from the host to which it is coupled, such that the system may consistently remain in a state where it may propagate SuperSpeed USB packets.
It may be desirable to provide a connection between a host device and a USB device using a non-traditional medium that is not USB 3.0 compliant, such as an optical or electrical medium. If a medium is used that is not USB 3.0 compliant, the USB 3.0 compliant hubs may malfunction and result in overall unstable system behavior. Therefore, a new method and apparatus are needed to optionally allow for extension of a SuperSpeed USB device from the host to which it is coupled, such that SuperSpeed USB packets may be propagated through a non-USB compliant medium between the host and the USB device.